import { api } from "@/src/utils/api"; import { useRouter } from "next/router"; import { getDatasetTabs, DATASET_TABS, } from "@/src/features/navigation/utils/dataset-tabs"; import { DatasetItemsTable } from "@/src/features/datasets/components/DatasetItemsTable"; import { DetailPageNav } from "@/src/features/navigate-detail-pages/DetailPageNav"; import { DatasetActionButton } from "@/src/features/datasets/components/DatasetActionButton"; import { DeleteDatasetButton } from "@/src/components/deleteButton"; import { NewDatasetItemButton } from "@/src/features/datasets/components/NewDatasetItemButton"; import { DuplicateDatasetButton } from "@/src/features/datasets/components/DuplicateDatasetButton"; import { UploadDatasetCsvButton } from "@/src/features/datasets/components/UploadDatasetCsvButton"; import { Button } from "@/src/components/ui/button"; import { History, MoreVertical } from "lucide-react"; import Page from "@/src/components/layouts/page"; import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, } from "@/src/components/ui/dropdown-menu"; import { DatasetItemsOnboarding } from "@/src/components/onboarding/DatasetItemsOnboarding"; import { SidePanel, SidePanelContent } from "@/src/components/ui/side-panel"; import { DatasetVersionHistoryPanel } from "@/src/features/datasets/components/DatasetVersionHistoryPanel"; import { DatasetVersionWarningBanner } from "@/src/features/datasets/components/DatasetVersionWarningBanner"; import { useState } from "react"; import { useDatasetVersion } from "@/src/features/datasets/hooks/useDatasetVersion"; function DatasetItemsView() { const router = useRouter(); const projectId = router.query.projectId as string; const datasetId = router.query.datasetId as string; const { selectedVersion, resetToLatest } = useDatasetVersion(); const isViewingOldVersion = selectedVersion !== null; const [isVersionPanelOpen, setIsVersionPanelOpen] = useState(false); const dataset = api.datasets.byId.useQuery({ datasetId, projectId, }); const totalDatasetItemCount = api.datasets.countItemsByDatasetId.useQuery({ projectId, datasetId, }); const showOnboarding = totalDatasetItemCount.isSuccess && totalDatasetItemCount.data === 0; // Fetch change counts since selected version const changeCounts = api.datasets.countChangesSinceVersion.useQuery( { projectId, datasetId, version: selectedVersion!, }, { enabled: selectedVersion !== null, }, ); const handlePanelOpenChange = (open: boolean) => { setIsVersionPanelOpen(open); }; return ( {!showOnboarding && ( <> )} `/project/${projectId}/datasets/${entry.id}/items/` } listKey="datasets" /> { event.preventDefault(); return false; }} > ), }} > {showOnboarding ? ( ) : (
{isViewingOldVersion && selectedVersion && ( )}
)}
); } export default DatasetItemsView;